package com.shujia.wyh.mr.hanlpdemo;

import com.hankcs.hanlp.HanLP;
import com.hankcs.hanlp.dictionary.CustomDictionary;
import com.hankcs.hanlp.seg.Segment;
import com.hankcs.hanlp.seg.common.Term;

import java.io.BufferedReader;
import java.io.FileReader;
import java.util.List;

/*
    因为默认的分词，不会将我们的意愿中的词语进行分出来，如果要想将自己的词语分出来，就得自定义词典

 */
public class FenCiDemo2 {
    public static void main(String[] args) throws Exception {
        //指定自定义词典的路径
        String CustomDictionary = "hadoop/src/main/java/com/shujia/wyh/mr/hanlpdemo/words.txt";

        //采用字符流读取我们的数据文件
        BufferedReader br = new BufferedReader(new FileReader("hadoop/src/main/java/com/shujia/wyh/mr/hanlpdemo/dldl.txt"));

        //自己定义一个方法，将我们的自定义一词典加载到分词器中
        loadCustomDictionary(CustomDictionary);

        //创建分词器
        Segment segment = HanLP.newSegment();

        //遍历数据文件得到每一行数据
        String line = null;
        while ((line=br.readLine())!=null){
            //使用分词器进行分词
            List<Term> termList = segment.seg(line);
            for (Term term : termList) {
                System.out.println(term.word);
            }

            System.out.println("======================================================");
        }


    }

    public static void loadCustomDictionary(String path) throws Exception{
        BufferedReader br = new BufferedReader(new FileReader(path));
        String word = null;
        while ((word=br.readLine())!=null){
            //将自定义词语加入到分词器中
            CustomDictionary.add(word);
        }

        br.close();
    }
}
